home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / waisgate / irsearch.h < prev    next >
C/C++ Source or Header  |  1995-05-09  |  2KB  |  72 lines

  1. /* WIDE AREA INFORMATION SERVER SOFTWARE    
  2.    No guarantees or restrictions.  See the readme file for the full standard 
  3.    disclaimer.
  4.    3.26.90    Brewster Kahle, brewster@think.com
  5. */
  6.  
  7. /* header file for irsearch.c */
  8.  
  9. #ifndef _H_search_
  10. #define _H_search_
  11.  
  12. #include "cdialect.h"
  13. #include "irfiles.h"
  14. #include "cutil.h"
  15. #include "futil.h"
  16. #include "irhash.h"
  17. #include "zprot.h"
  18. #include "wprot.h"
  19.  
  20. /* the default database to use if none is specified */
  21. #define    INFO_DATABASE_NAME    "INFO"
  22. #define MAX_NORMAL_SCORE 1000
  23.  
  24.  
  25. extern char *server_name;
  26. extern long tcp_port;
  27.  
  28. typedef struct hit {
  29.     long     weight;
  30.     long     document_id;
  31.     long    start_character;
  32.     long     end_character;
  33.     char     filename[MAX_FILE_NAME_LEN + 1];
  34.     char     headline[MAX_HEADLINE_LEN + 1];
  35.     char     type[MAX_TYPE_LEN + 1];
  36.     char    date[ANSI_DATE_LENGTH + 1];
  37.     long    number_of_lines;
  38.     long     document_length;
  39.     long     best_character;  /* this is the offset into the 
  40.                     document of the character at    
  41.                     the start of the best section */
  42.     long     best_line;  /* similar to best_character but for lines */
  43.     database *db;
  44. } hit;    
  45.  
  46. typedef struct search {
  47.     database*        db;    
  48.     double*            document_score_array;
  49.     unsigned long        num_best_hits;
  50.     hit*            best_hits;
  51. } search;
  52.  
  53. /* exported functions */
  54. #ifdef __cplusplus
  55. /* declare these as C style functions */
  56. extern "C"
  57.     {
  58. #endif /* def __cplusplus */
  59.  
  60. boolean run_search 
  61.   _AP((SearchAPDU* aSearch,
  62.        WAISDocumentHeader** headers,
  63.        diagnosticRecord*** diags,char* index_directory, 
  64.        char** seed_words_used,
  65.        long waisProtocolVersion,long* headerNum));
  66.  
  67. #ifdef __cplusplus
  68.     }
  69. #endif /* def __cplusplus */
  70.  
  71. #endif
  72.